
# filter()筛选功能，将函数符合条件的返回后输出，其他的过滤掉
list2 = ["刘丽", "曹丽丽", "张章", "薛云非", "刘洋", "黄婷", "张晓雪"]

# 第一个参数是函数，第二个是可迭代对象例如list

ll = filter(lambda l: not l.startswith("张"), list2)
print("123123123", ll.__doc__)
print(list(ll))


# map() 映射
list3 = [1,2,3,4,5,6,7,8,9]
list4 = [9, 8, 7, 6, 5, 342, 42, 42, 12, 32, 111, 222]
res = [i*i for i in list3]
print(res)

# map可以讲参数传入函数内对映射关系对应的参数进行计算并返回,以少的对象元素数量为计算，多出的不计算返回
res2 = map(lambda x, y : x * y, list3, list4)
print(list(res2))


def square(x):
    return x ** 2

print(list(map(square, [1, 2, 3])))